package com.auto.admin.controller.backend.vo;

import com.auto.api.common.entity.IdObj;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * @Description: ApiInfoVO
 * @author liangshf
 * @date 2018-10-11
 */
@Data
public class ApiInfoVO extends IdObj {

  private static final long serialVersionUID = 8021971192166091337L;

  /**
   * 应用名称
   */
  @ApiModelProperty(value = "应用名称")
  private String applicationName;

  /**
   * controllerName
   */
  @ApiModelProperty(value = "controllerName")
  private String controllerName;

  //controller描述
  @ApiModelProperty(value = "controller描述")
  private String controllerRmk;
  //方法描述
  @ApiModelProperty(value = "方法描述")
  private String methodRmk;

  /**
   * Url
   */
  @ApiModelProperty(value = "Url")
  private String url;

  /**
   * id-Url
   */
  @ApiModelProperty(value = "idUrl")
  private String idUrl;

  /**
   * Url
   */
  @ApiModelProperty(value = "urlMethodName")
  private String urlMethodName;

  /**
   * 请求类型
   */
  @ApiModelProperty(value = "请求类型")
  private String requestType;

  /**
   * 请求方法名
   */
  @ApiModelProperty(value = "请求方法名")
  private String methodName;

  /**
   * 方法参数
   */
  @ApiModelProperty(value = "方法参数")
  private String args;

  /**
   * 方法参数 json
   */
  @ApiModelProperty(value = " 方法参数 json")
  private String paramJson;

  /**
   * 自动化参数值json
   */
  @ApiModelProperty(value = "自动化参数值json")
  private String autoParamJson;

  /**
   * 模拟数据标志(0-正式数据,1-模拟数据)
   */
  @ApiModelProperty(value = "模拟数据标志(0-正式数据,1-模拟数据)")
  private Integer mockType;

  @ApiModelProperty(value = "返回值类型")
  private String resultClass;//返回值类型

  @ApiModelProperty(value = "返回值泛型类型")
  private String resultTypeClass;//返回值泛型类型

  @ApiModelProperty(value = "返回值json")
  private String resultJson;//返回值json

  @ApiModelProperty(value = "mock返回值json(新增时与result_json一致，修改不同步可能有某个场景返回特定json)")
  private String mockResultJson;//mock返回值json(新增时与result_json一致，修改不同步可能有某个场景返回特定json)

  @ApiModelProperty(value = "返回值Api json")
  private String resultApiJson;//返回值Api json

  /**
   * 方法参数Api json
   */
  @ApiModelProperty(value = "方法参数Api json")
  private String paramApiJson;

  /**
   * 删除标志, 0-未删除,1-已删除
   */
  @ApiModelProperty(value = "删除标志, 0-未删除,1-已删除")
  private Integer del;

  /**
   * 创建人id
   */
  @ApiModelProperty(value = "创建人id")
  private Long createdBy;

  /**
   * 创建时间
   */
  @ApiModelProperty(value = "创建时间")
  private LocalDateTime createdTime;

  /**
   * 更新人id
   */
  @ApiModelProperty(value = "更新人id")
  private Long updatedBy;

  /**
   * 更新时间
   */
  @ApiModelProperty(value = "更新时间")
  private LocalDateTime updatedTime;

  public String getIdUrl() {
    return this.getId() + "-" + "("+applicationName+")"+this.url;
  }

  public void setIdUrl(String idUrl) {
    this.idUrl = idUrl;
  }
}
